package test

import org.apache.spark.{SparkConf, SparkContext}

object test {
  def main(args: Array[String]): Unit = {
    // 统计文档中单词出现个数
    val conf = new SparkConf().setAppName("myapp").setMaster("local")
    val sc = new SparkContext(conf)
    val rdd0 = sc.textFile("data/input/words.txt") //读取文件
    val rdd1 = rdd0.map(_.replaceAll("[;,.”“]", " "))  //将标点符号替换为空格
    val rdd2 = rdd1.flatMap(x=>x.split(" ")) //利用flatmap按空格进行分割
    val rdd3 = rdd2.map(x=>(x, 1)) //利用map写成(key, 1)
    val rdd4 = rdd3.reduceByKey((x,y)=>x+y).sortByKey() //利用reduceByKey合并，必须要有参数，然后按key排序
//    rdd4.saveAsTextFile("data/output")
    rdd4.collect().foreach(println) //输出
    rdd4.saveAsTextFile("hdfs://192.168.10.100:8020/wh/output")
  }
}
